package com.example.adminui.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * CORS配置类，用于处理跨域请求
 */
@Configuration
public class CorsConfig {
    /**
     * 配置CORS跨域请求
     * @return WebMvcConfigurer实例，包含CORS配置
     */
    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            /**
             * 添加CORS映射配置
             * @param registry CORS注册器
             */
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                // 配置/api/**路径的跨域请求
                registry.addMapping("/api/**")
                        // 允许来自localhost:5173的请求
                        .allowedOrigins("http://localhost:3000")
                        // 允许的HTTP方法
                        .allowedMethods("GET", "POST", "PUT", "DELETE")
                        // 允许携带凭证
                        .allowCredentials(true);
            }
        };
    }
}